package com.hahaliu.hahaliu.service.video;

import com.hahaliu.hahaliu.pojo.entity.UserVideo;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author Liubuzhu
* @description 针对表【user_video(用户视频关联表)】的数据库操作Service
* @createDate 2024-12-07 14:20:45
*/
public interface UserVideoService extends IService<UserVideo> {

	/**
	 * 更新播放次数以及最近播放时间，顺便返回记录信息，没有记录则创建新记录
	 * @param uid   用户ID
	 * @param vid   视频ID
	 * @return 更新后的数据信息
	 */
	UserVideo updatePlay(Integer uid, Integer vid);

	/**
	 * 点赞或点踩，返回更新后的信息
	 * @param uid   用户ID
	 * @param vid   视频ID
	 * @param isLove    赞还是踩 true赞 false踩
	 * @param isSet     设置还是取消  true设置 false取消
	 * @return  更新后的信息
	 */
	UserVideo setLoveOrUnlove(Integer uid, Integer vid, boolean isLove, boolean isSet);

	/**
	 * 收藏或取消收藏
	 * @param uid   用户ID
	 * @param vid   视频ID
	 * @param isCollect 是否收藏 true收藏 false取消
	 */
	void collectOrCancel(Integer uid, Integer vid, boolean isCollect);
}
